﻿using System;
using System.Collections.Generic;
using Sustainalytics.Entities;
using Sustainalytics.Utils;

namespace Sustainalytics.Portfolios.BL
{
    public interface ISubscribeToPortfolioManagement
    {
        List<SubscribeToPortfolio> GetSubscriptions(PortfolioUserClaims userClaims);

        void AddSubscribeToPortfolio(SubscribeToPortfolio subscribe);

        void UpdateSubscribeToPortfolio(SubscribeToPortfolio subscribe);

        void UpdateSubscribeState(Guid id, bool status);

        void DeleteSubscribeToPortfolio(Guid subscribeId);

        void DeleteSubscriptionToPortfolio(Guid portfolioId);

        void UpdateSubsciptionsForPortfolio(Guid portfolioId, Guid userId);

        bool UserHasSubscriptionToPortfolio(Guid id, Guid ownerUserId, Guid[] accountId);

    }
}
